Micron Document
`:top
Dans un `F33f`_`[système d'exploitation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Système_d'exploitation]`_`f, un `!module`! est une partie du `F33f`_`[noyau`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Noyau_de_système_d'exploitation]`_`f qui peut être intégrée pendant son fonctionnement. Le terme `F33f`_`[anglais`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Anglais]`_`f généralement employé pour les désigner est `*Loadable Kernel Module`*, abrégé `!LKM`!, ou en `F33f`_`[français`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Français]`_`f : « module de noyau chargeable ».

Cette fonctionnalité existe dans les `F33f`_`[noyaux Linux`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Noyau_Linux]`_`f et les noyaux `F33f`_`[BSD`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Berkeley_Software_Distribution]`_`f.

C'est une alternative aux fonctionnalités `F33f`_`[compilées`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Compilateur]`_`f dans le noyau, qui ne peuvent être chargées qu'en relançant le système.

>>Contents

• `F0af`_`[Linux`#linux]`_`f
• `F0af`_`[Compatibilité des modules binaires`#compatibilit-des-modules-binaires]`_`f
• `F0af`_`[Considérations juridiques`#consid-rations-juridiques]`_`f
• `F0af`_`[Notes et références`#notes-et-r-f-rences]`_`f
• `F0af`_`[Annexes`#annexes]`_`f
• `F0af`_`[Article connexe`#article-connexe]`_`f
• `F0af`_`[Lien externe`#lien-externe]`_`f

-─

>>Linux

Les modules du `F33f`_`[noyau Linux`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Noyau_Linux]`_`f sont généralement placés dans `B100`F9d9/lib/modules`f`b. Ils utilisent l'`F33f`_`[extension`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Extension_de_nom_de_fichier]`_`f `B100`F9d9.ko`f`b depuis la version 2.6.

La commande `B100`F9d9depmod`f`b génère les fichiers de `F33f`_`[dépendances`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Dépendance_logicielle]`_`f. Ces fichiers permettront entre autres à la commande `B100`F9d9modprobe`f`b de charger automatiquement tous les modules nécessaires lors de l'intégration d'un module dans le noyau.

Les modules peuvent être retirés du noyau à tout moment tant qu'ils ne sont pas utilisés.

Les commandes `B100`F9d9lsmod`f`b, `B100`F9d9insmod`f`b et `B100`F9d9rmmod`f`b permettent d'effectuer les opérations de base sur les modules.

Dans certaines `F33f`_`[distributions Linux`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Distribution_Linux]`_`f récentes, le chargement des modules est automatique lorsque le système en a besoin ou qu'il détecte un nouveau périphérique.

>>>Compatibilité des modules binaires

Linux ne fournit pas d'interface stable (`F33f`_`[API`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Interface_de_programmation]`_`f ou `F33f`_`[ABI`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Application_binary_interface]`_`f) pour les modules du noyau. D'une version à l'autre du noyau il peut donc y avoir des différences structurelles ou fonctionnelles qui peuvent rompre la compatibilité avec les modules existants. Pour limiter ces inconvénients, des informations de version sont placées dans la section .modinfo des modules qui peuvent être comparées à la version du noyau cible pour empêcher le chargement de modules non compatibles.

>>>Considérations juridiques

La licence `F33f`_`[GNU GPL`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=GNU_GPL]`_`f qui régit le noyau Linux implique que tout travail dérivé soit placé sous cette même licence. Les mainteneurs du noyau considèrent que, sauf exception, les modules du noyau sont des travaux dérivés et comme tels soumis à la licence GNU GPL. `F33f`_`[Linus Torvalds`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Linus_Torvalds]`_`f a ainsi exprimé qu'il pouvait exister de rares exceptions : typiquement si le `F33f`_`[pilote`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Pilote_informatique]`_`f d'un autre système d'exploitation était adapté pour fonctionner sous Linux, il lui semble difficile de qualifier le travail en résultant de « travail dérivé de Linux »`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f].

Le symbole d'exportation du noyau permet de spécifier la licence des modules qui interagissent, par exemple dans le cas de `*EXPORT_SYMBOL_GPL`*, le module sera marqué de cette façon : `*MODULE_LICENSE("GPL")`*. Pour Linus Torvalds, cette précision a une valeur descriptive mais aussi juridique`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f].

>>Notes et références

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f (en) Linux: The GPL And Binary Modules « Copie archivée » (version du 23 juillet 2005 sur `*`F33f`_`[Internet Archive`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Internet_Archive]`_`f`*)
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f (en) On the value of EXPORT_SYMBOL_GPL

>>Annexes

>>>Article connexe

• `F33f`_`[Fichier binaire`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Fichier_binaire]`_`f

>>>Lien externe

• Tutorial sur la programmation de LKM en C

• Portail des logiciels libres
• Portail de Linux

`c`F0af`_`[↑ Back to top`#top]`_`f`a